A major issue in a shared services environment or system having multiple members is the ability to sufficiently provide the shared services to such clients. This is especially true for a network system, such as an information'technology (IT) enterprise-wide network or system, wherein shared services typically involve the transfers of large amounts of data or content to and from the system members. As referred herein, and as understood in the art, information technology, or IT, encompasses all forms of technology, including but not limited to the design, development, installation, and implementation of hardware and software information systems and software applications, used to create, store, exchange and utilize information in its various forms including but not limited to business data, conversations, still images, motion pictures and multimedia presentations technology and with the design, development, installation, and implementation of information systems and applications.
In the case of a shared services system that manages and provides services to the system members therein, there are typically functional components or contents that need to be deployed and distributed to system members within a management domain of such a system. For example, a management service such as change management in an IT enterprise-wide network may require support for the deployment of potentially large amounts of content to a large number of members in the IT enterprise-wide network, such as network hosts, clients, virtual machines and appliances. As referred herein, change management is a planned or organized approach to providing the desired or necessary changes within a system for one or more of its hosts, clients, or both. For example, change management in an IT enterprise-wide network system may be a software configuration management which manages the distribution of software patches or updates, security patches or updates, and configuration information and management software to one or more members in the IT enterprise-wide network or system.
Often, there are cases where the source, or seed, of a large amount of content (e.g., a software upgrade content) required for a managed change (e.g., a software configuration change) is sitting in a data network (e.g., Internet). In such cases, there is a desire to avoid what is known as the “slashdot effect,” whereby the content source or seed is inundated with multiple requests for the same popular content. This slashdot effect creates scalability problems for traditional methods of delivering content, such as software updates, to running systems. That is because in a traditional method for content delivery, the contents are centralized at one or more hosts that act as servicing hubs. Thus, services are provided from the content hosts to those clients connected to such hosts. Each content host must then have sufficient computing power and bandwidth to accommodate servicing requests from those clients connected thereto. As more clients are connected to the hosts or the size of the content delivery increases, infrastructure costs are incurred to necessarily upgrade the hosts to be powerful and to have higher system bandwidth to handle the increased content requirements. This scalability problem is especially pronounced in, for example, an IT enterprise-wide network or data center that employs machine virtualization. In such a system, while there are only a few thousand nodes in the IT enterprise-wide network, such nodes may effectively run tens of thousand of virtual nodes that all need the same content, such as updates to the latest software application or operating system (OS). This kind of scale creates a localized slashdot effect within the IT enterprise-wide network.
Peer-to-peer, or P2P, file sharing technologies long have been used to support the sharing of large amounts of content between a potentially large community of nodes or users. Torrent-based P2P file sharing systems, such as BitTorrent, KTorrent, μTorrent, and BitComet, have emerged as systems of choice for distributing very large amounts of content across a data network such as the Internet. These P2P systems have allowed non-profit and open source organizations to avoid deploying large server farms and instead rely on a small number of mirror sites that know they won't get totally inundated with massive amounts of download requests.